package scau.hotel.hotel_model.controller;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;

@Getter
@ToString
@AllArgsConstructor
public enum RespBeanEnum {
    //通用
    SUCCESS(200,"操作成功"),
    ERROR(500,"服务器异常"),

    //登录授权模块：HttpStatus
    USER_AUTHENTICATION_FAILED_ERROR(201,"用户认证失败！"),
    UNAUTHORIZED_ERROR(401,"未授权"),
    FORBIDDEN_ERROR(403,"拒绝访问"),
    CREATED_SUCCESS(201,"对象创建成功"),
    ACCEPTED_SUCCESS(202,"请求已经被接受"),
    CONFLICT(409,"资源冲突或资源被锁"),


    //添加房间房型模块
    BIND_ERROR(24501,"参数校验异常"),
    ROOM_NO_ERROR(24502,"房间编号格式不正确"),
    ROOM_NO_NOT_EXIST_ERROR(24503,"房间号不存在"),
    ROOM_NO_EXIST_ERROR(24504,"房间号已存在"),
    ROOM_TYPE_NO_EXIST_ERROR(24505,"房型编号已存在"),

    //办理入住模块
    CHECKIN_CUS_NOT_EXIST_ERROR(24101,"请先登记入住人信息"),
    CUS_EXIST_ERROR(24102,"该人员已登记,请勿重复登记"),
    CUS_REPEAT_ERROR(24103,"人员信息重复,请重新确认"),
    CUS_UNCHECKED_ERROR(24104,"未勾选入住人"),
    CUS_NOT_REGISTERED_ERROR(24105,"请为所有已登记入住人安排房间"),

    //入住信息模块
    CHECKIN_INFO_NOT_EXIST_ERROR(24300,"暂无此房间的入住信息"),
    //办理退房模块
    CHECKOUT_NULL_ERROR(24000,"请先选择需退房的订单"),
    CHECKOUT_CHECKIN_ID_NOT_SAME_ERROR(24001,"以上房间不属于相同的入住订单，无法同时办理退房"),

    //删除业务模块
    CHECKIN_INFO_STATUS_ERROR(24301,"该订单还未完成，无法删除"),
    CHECKIN_CUS_INFO_STATUS_ERROR(24302,"该客人还未离店，无法删除")
    ;

    private final Integer code;
    private final String message;
}
